JDBC (Java Database Connectivity) হল একটি Java API যা ডেটাবেসের সাথে সংযোগ স্থাপন এবং SQL কুয়েরি চালানোর জন্য ব্যবহৃত হয়। H2 Database একটি ইন-মেমরি ডেটাবেস এবং রিলেশনাল ডেটাবেস সিস্টেম, যা Java অ্যাপ্লিকেশনগুলির সাথে খুবই সহজে ইন্টিগ্রেট করা যায়। JDBC ব্যবহার করে আপনি H2 ডেটাবেসে সংযোগ স্থাপন করতে পারেন, এবং ডেটাবেসের সাথে CRUD (Create, Read, Update, Delete) অপারেশন করতে পারবেন।
এখানে H2 Database এর সাথে JDBC সংযোগ করার জন্য প্রয়োজনীয় ধাপগুলি দেওয়া হলো।
প্রথমে আপনার প্রকল্পে H2 JDBC ড্রাইভার অন্তর্ভুক্ত করতে হবে। যদি আপনি Maven ব্যবহার করেন, তবে আপনাকে pom.xml
ফাইলে H2 ডিপেনডেন্সি যোগ করতে হবে।
<dependencies>
<!-- H2 Database JDBC Dependency -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
</dependency>
</dependencies>
dependencies {
implementation 'com.h2database:h2:1.4.200'
}
H2 Database এর সাথে JDBC সংযোগ তৈরি করার জন্য, আপনাকে JDBC URL, username, এবং password প্রয়োজন হবে। সাধারণত, H2 ডিফল্টভাবে sa
নামক ইউজার এবং খালি পাসওয়ার্ড ব্যবহার করে থাকে।
এখানে একটি সাধারণ JDBC সংযোগ উদাহরণ দেওয়া হলো:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class H2DatabaseExample {
public static void main(String[] args) {
// H2 Database URL, username এবং password কনফিগারেশন
String url = "jdbc:h2:~/test"; // এটি ইন-মেমরি ডেটাবেসের জন্য পরিবর্তন করতে হবে
String username = "sa"; // ডিফল্ট ইউজারনেম
String password = ""; // ডিফল্ট পাসওয়ার্ড (খালি)
// সংযোগ স্থাপন
try (Connection connection = DriverManager.getConnection(url, username, password)) {
if (connection != null) {
System.out.println("H2 Database connected successfully.");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
এখানে:
jdbc:h2:~/test
: এটি H2 ডেটাবেসের URL। ~/test
হল ডেটাবেস ফাইলের অবস্থান (উদাহরণস্বরূপ, এটি হোম ডিরেক্টরিতে test.mv.db
ফাইল তৈরি করবে)। আপনি যদি ইন-মেমরি ডেটাবেস ব্যবহার করতে চান, তাহলে URL হতে হবে jdbc:h2:mem:testdb
.sa
: এটি H2 ডেটাবেসের ডিফল্ট ইউজারনেম।JDBC ব্যবহার করে H2 ডেটাবেসে SQL কুয়েরি চালানো যায়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে একটি টেবিল তৈরি করা হচ্ছে এবং তাতে ডেটা ইনসার্ট করা হচ্ছে।
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.SQLException;
public class H2DatabaseExample {
public static void main(String[] args) {
String url = "jdbc:h2:~/test";
String username = "sa";
String password = "";
try (Connection connection = DriverManager.getConnection(url, username, password)) {
// SQL statement to create a table
String createTableSQL = "CREATE TABLE IF NOT EXISTS Users (id INT PRIMARY KEY, name VARCHAR(255))";
// Statement object to execute SQL queries
Statement statement = connection.createStatement();
// Execute the query to create the table
statement.execute(createTableSQL);
System.out.println("Table created successfully.");
// SQL statement to insert data into the table
String insertDataSQL = "INSERT INTO Users (id, name) VALUES (1, 'John Doe')";
// Execute the insert query
statement.executeUpdate(insertDataSQL);
System.out.println("Data inserted successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
এখানে:
CREATE TABLE
SQL কুয়েরি ব্যবহার করে Users টেবিল তৈরি করা হচ্ছে।INSERT INTO
SQL কুয়েরি ব্যবহার করে ডেটা ইনসার্ট করা হচ্ছে।এখন, SQL কুয়েরি ব্যবহার করে ডেটা রিড এবং আপডেট করার উদাহরণ দেওয়া হলো:
import java.sql.*;
public class H2DatabaseExample {
public static void main(String[] args) {
String url = "jdbc:h2:~/test";
String username = "sa";
String password = "";
try (Connection connection = DriverManager.getConnection(url, username, password)) {
// SQL statement to select data
String selectSQL = "SELECT * FROM Users";
// Execute the query
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(selectSQL);
// Loop through the result set and print data
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println("ID: " + id + ", Name: " + name);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
এখানে:
resultSet.getInt("id")
এবং resultSet.getString("name")
ব্যবহার করে রিটার্ন করা ডেটা প্রাপ্ত হচ্ছে।import java.sql.*;
public class H2DatabaseExample {
public static void main(String[] args) {
String url = "jdbc:h2:~/test";
String username = "sa";
String password = "";
try (Connection connection = DriverManager.getConnection(url, username, password)) {
// SQL statement to update data
String updateSQL = "UPDATE Users SET name = 'Jane Doe' WHERE id = 1";
// Execute the update query
Statement statement = connection.createStatement();
int rowsUpdated = statement.executeUpdate(updateSQL);
System.out.println("Rows updated: " + rowsUpdated);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
এখানে:
JDBC ব্যবহার করার পরে, সর্বদা নিশ্চিত করুন যে আপনি ডেটাবেস সংযোগ বন্ধ করছেন, এটি রিসোর্সের অপচয় থেকে রক্ষা করবে।
connection.close();
H2 Database-এর সাথে JDBC সংযোগ করা খুবই সহজ এবং Java অ্যাপ্লিকেশনগুলিতে ডেটাবেস অপারেশন চালানোর জন্য একটি শক্তিশালী পদ্ধতি। JDBC ব্যবহার করে আপনি H2 ডেটাবেসে সংযোগ স্থাপন করতে পারবেন এবং SQL কুয়েরি চালিয়ে ডেটা ইনসার্ট, আপডেট, রিড, এবং ডিলিট করতে পারবেন। H2 ডেটাবেস in-memory বা disk-based মোডে কাজ করতে পারে এবং Java অ্যাপ্লিকেশনের সাথে খুবই সহজে একীভূত করা যায়।
common.read_more